GraphLinksModel
ノードとサブグラフで構成される図モデルの汎用実装。2つのノード間のリンクを表す任意の数の明示的なリンクデータ。
継承元: DiagramModel
実装: ILinksModel, IDiagramModel, ISubGraphLinksModel, ISubGraphModel, IGroupsModel
コンストラクター
public GraphLinksModel()
graphLinksModel = GraphLinksModel()
デフォルトのコンストラクタは空のモデルを生成します。
プロパティ
public string GroupNodePath { get; set; }
value = graphLinksModel.GroupNodePath
graphLinksModel.GroupNodePath = value
ノードのデータオブジェクトの「コンテナ」またはグループノードのデータのキーを取得する方法を指定するプロパティパスを取得します。
public string LinkCategoryPath { get; set; }
value = graphLinksModel.LinkCategoryPath
graphLinksModel.LinkCategoryPath = value
リンクデータのカテゴリを見つける方法を指定するプロパティパスを取得します。
public string LinkFromParameterPath { get; set; }
value = graphLinksModel.LinkFromParameterPath
graphLinksModel.LinkFromParameterPath = value
リンクデータオブジェクトの「から」ノードデータに対して、オプションの「port」パラメータ情報を取得するか、または、プロパティパスを取得または設定します。
public string LinkFromPath { get; set; }
value = graphLinksModel.LinkFromPath
graphLinksModel.LinkFromPath = value
リンクデータオブジェクトの「から」ノードデータのキーを取得する方法を指定するプロパティパスを取得します。
public string LinkLabelNodePath { get; set; }
value = graphLinksModel.LinkLabelNodePath
graphLinksModel.LinkLabelNodePath = value
リンクデータオブジェクトの「ラベル」ノードデータのキーを取得する方法を指定するプロパティパスを取得します。
public IEnumerable LinksSource { get; set; }
value = graphLinksModel.LinksSource
graphLinksModel.LinksSource = value
モデルのリンクデータ項目の収集またはセットを取得します。
public string LinkToParameterPath { get; set; }
value = graphLinksModel.LinkToParameterPath
graphLinksModel.LinkToParameterPath = value
リンクデータオブジェクトの「to」ノードデータに対して、オプションの「port」パラメータ情報を取得するか、または、プロパティパスを取得または設定します。
public string LinkToPath { get; set; }
value = graphLinksModel.LinkToPath
graphLinksModel.LinkToPath = value
リンクデータオブジェクトの「to」ノードのデータを取得する方法を指定するプロパティパスを取得します。
public string MemberNodesPath { get; set; }
value = graphLinksModel.MemberNodesPath
graphLinksModel.MemberNodesPath = value
グループノードのデータオブジェクトの「member」ノードのキーの一覧を取得するか、プロパティパスを取得またはセットします。
public string NodeCategoryPath { get; set; }
value = graphLinksModel.NodeCategoryPath
graphLinksModel.NodeCategoryPath = value
ノードデータのカテゴリを見つける方法を指定するプロパティパスを取得するか、または設定します。
public string NodeIsGroupPath { get; set; }
value = graphLinksModel.NodeIsGroupPath
graphLinksModel.NodeIsGroupPath = value
ノードのデータが「コンテナ」グループであるかを調べる方法を指定するプロパティパスを取得するか、または設定します。
public string NodeIsLinkLabelPath { get; set; }
value = graphLinksModel.NodeIsLinkLabelPath
graphLinksModel.NodeIsLinkLabelPath = value
ノードのデータがリンクデータに対して「ラベル」であるかを調べる方法を指定するプロパティパスを取得するか、または設定します。
public bool NodeKeyIsNodeData { get; set; }
value = graphLinksModel.NodeKeyIsNodeData
graphLinksModel.NodeKeyIsNodeData = value
すべてのノードのデータが独自のキーであるかを取得またはセットします。
public string NodeKeyPath { get; set; }
value = graphLinksModel.NodeKeyPath
graphLinksModel.NodeKeyPath = value
ノードのデータを取得する方法を指定するプロパティパスを取得またはセットします。
public bool NodeKeyReferenceAutoInserts { get; set; }
value = graphLinksModel.NodeKeyReferenceAutoInserts
graphLinksModel.NodeKeyReferenceAutoInserts = value
NodeKeyIsNodeDataが真の場合、参照がNodesSourceに自動的に差し込みます。
public IEnumerable NodesSource { get; set; }
value = graphLinksModel.NodesSource
graphLinksModel.NodesSource = value
モデルのノードデータ項目のコレクションを取得またはセットします。
public ValidCycle ValidCycle { get; set; }
value = graphLinksModel.ValidCycle
graphLinksModel.ValidCycle = value
どのような種類のグラフを指定して、このモデルが許可します。
public ValidUnconnectedLinks ValidUnconnectedLinks { get; set; }
value = graphLinksModel.ValidUnconnectedLinks
graphLinksModel.ValidUnconnectedLinks = value
各リンクデータが両方の端がノードデータを参照しなければならないかどうかを取得またはセットします。
メソッド
AddCollectionCopy(GraphLinksModel{, GraphLinksModel{) : CopyDictionary<T, T, T, T>
既存のノードをコピーしてデータをリンクし、このモデルに追加します。
- coll
- コピーされるデータの収集
- env
- コピーされたオブジェクトの追跡を保ち続けるために ICopyDictionary を使用しました。null なら、このメソッドは CreateCopyDictionaryを呼び出し、それを使用し、それを返します
戻り値: 更新されたコピー辞書、元のデータをコピーしたデータをマッピング
public LinkType AddLink(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.AddLink(fromdata, fromparam, todata, toparam)
リンク先のデータをLinksSource@に追加してください。
- fromdata
- ノードキーは、リンクが来るノードデータを識別します。
- fromparam
- リンクが接続される「から」ノードのポートを識別するオプションの値
- todata
- ノードキーは、リンクが進むノードデータを識別します。
- toparam
- リンクが接続される「to」ノードのポートを識別するオプションの値
public void AddLink(LinkType linkdata)
graphLinksModel.AddLink(linkdata)
リンク先のデータをLinksSource@に追加してください。
- linkdata
public LinkType AddLinkCopy(LinkType linkdata)
result = graphLinksModel.AddLinkCopy(linkdata)
リンクデータをこのモデルにコピーします。
- linkdata
戻り値: コピーされたリンクデータ
public void AddMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.AddMemberNodeKey(nodedata, memberkey)
「members」ノードのデータのキー値を「members」のノードデータのリストに追加します。
- nodedata
- ノードデータを変更する
- memberkey
- 新しい「member」ノードデータのキー値
public void AddNode(NodeType nodedata)
graphLinksModel.AddNode(nodedata)
ノードデータを@NodesSource@に追加します。
- nodedata
public NodeType AddNodeCopy(NodeType nodedata)
result = graphLinksModel.AddNodeCopy(nodedata)
このモデルにノードデータのコピーを追加します。
- nodedata
戻り値: コピーされたノードのデータ
AugmentCopyDictionary(GraphLinksModel{)
データをコピーしたり、コピーされた参照を解決する方法を変更するには、このメソッドをオーバーライドします。
- env
- オブジェクトをコピーする辞書マッピング
protected override void ChangeDataValue(ModelChangedEventArgs e, bool undo)
graphLinksModel.ChangeDataValue(e, undo)
ステートがモデルデータに変化する状態に影響するのに対し、これは undo または redo の間に呼び出されます。
- e
- 変更を記述する編集は、実行する
- undo
- 行方不明の場合、 再発した場合の false
protected override void ChangeModelValue(ModelChangedEventArgs e, bool undo)
graphLinksModel.ChangeModelValue(e, undo)
つまり、このモデルに対する状態の変化を生じさせるための undo や redo の間に呼び出されます。
- e
- 変更を記述する編集は、実行する
- undo
- 行方不明の場合、 再発した場合の false
protected virtual bool CheckLinkValid(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam, bool ignoreexistinglink, LinkType oldlinkdata)
result = graphLinksModel.CheckLinkValid(fromdata, fromparam, todata, toparam, ignoreexistinglink, oldlinkdata)
2つのノード/ポート間のリンクを追加すると、この述語は、有効な構造のグラフになります。
- fromdata
- ノードキーは、リンクが来るノードデータを識別します。
- fromparam
- リンクが接続される「から」ノードのポートを識別するオプションの値
- todata
- ノードキーは、リンクが進むノードデータを識別します。
- toparam
- リンクが接続される「to」ノードのポートを識別するオプションの値
- ignoreexistinglink
- 再リンクする場合 true; 新規リンクを追加する場合は false
- oldlinkdata
- 変更される可能性のある元のリンクデータ、真の場合
戻り値: このページの先頭の動作は、ValidCycleと ValidUnconnectedLinksの値をValidUnconnectedLinksに変えるものです。
protected virtual bool CheckMemberValid(NodeType groupnodedata, NodeType membernodedata, bool ignoreexistingmembership)
result = graphLinksModel.CheckMemberValid(groupnodedata, membernodedata, ignoreexistingmembership)
ノードをグループノードに追加すると、この述語は無効なグラフになります。
- groupnodedata
- グループであるノードデータ
- membernodedata
- グループに追加するノードデータ
- ignoreexistingmembership
- 既存のグループメンバーを無視するかどうか、そのメンバーは既存のグループから退出しているからです。
戻り値: グループのツリー構造を破るメンバーに対して、この false を返します。
public void ClearUnresolvedReferences()
graphLinksModel.ClearUnresolvedReferences()
未解決の遅延やフォワードの参照を全て忘れます。
CopyLink1(T, GraphLinksModel{) : T
これは、リンクデータをコピーする最初のパスです。コピーを構成し、そのプロパティのほとんどをコピーする責任があります。
- linkdata
- env
- オブジェクトをコピーする辞書マッピング
戻り値: コピーされたリンクデータ
CopyLink2(T, GraphLinksModel{, T, T, T, T)
これは、リンクデータをコピーする2番目のパスです。他のオブジェクトへの参照を修正する責任があります。
- oldlinkdata
- オリジナルリンクデータ
- env
- オブジェクトをコピーする辞書マッピング
- newlinkdata
- コピーされたリンクデータ
- newfromnodedata
- 利便性のために、コピーされた "from" ノード
- newtonodedata
- 利便性のために、コピーされた "to" ノード
- newlinklabel
- 利便性のために、コピーされた「ラベル」ノード
CopyNode1(T, GraphLinksModel{) : T
これは、ノードデータをコピーする最初のパスです。コピーを構成し、そのプロパティのほとんどをコピーする責任があります。
- nodedata
- env
- オブジェクトをコピーする辞書マッピング
戻り値: コピーされたノードのデータ
CopyNode2(T, GraphLinksModel{, T, T, IEnumerable<T>)
これは、ノードデータをコピーする2番目のパスです。他のオブジェクトへの参照を修正する責任があります。
- oldnodedata
- 元のノードデータ
- env
- オブジェクトをコピーする辞書マッピング
- newnodedata
- コピーされたノードのデータ
- newgroup
- 利便性のために、コピーされた「親」ノードデータ
- newmembers
- 利便性のため、新しくコピーされたメンバーノードのリスト
public virtual CopyDictionary<NodeType, NodeKey, PortKey, LinkType> CreateCopyDictionary()
result = graphLinksModel.CreateCopyDictionary()
このモデルのICopyDictionaryを初期化しました。
戻り値: 通常は空の辞書になります。
public virtual DataCollection<NodeType, NodeKey, PortKey, LinkType> CreateDataCollection()
result = graphLinksModel.CreateDataCollection()
このモデルのIDataCollection@を空に作成します。
CreateInitializedCopy(GraphLinksModel{) : GraphLinksModel<T, T, T, T>
NodesSourceまたは LinksSourceコレクションを共有することなく、このモデルのコピーを作成します。
- init
- 初期ノードとリンクデータを提供するDataCollectionです。(Suchデータはコピーされません。) nullの場合、初期NodesSourceとLinksSource@は空のコレクションです。
戻り値: 同じモデルですが、異なるデータで
protected virtual void DeleteLink(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
graphLinksModel.DeleteLink(fromdata, fromparam, todata, toparam)
この方法は、LinksSourceコレクションからリンクデータの削除を実際に実施します。
- fromdata
- ノードキーは、リンクが来るノードデータを識別します。
- fromparam
- リンクが接続される「から」ノードのポートを識別するオプションの値
- todata
- ノードキーは、リンクが進むノードデータを識別します。
- toparam
- リンクが接続される「to」ノードのポートを識別するオプションの値
protected virtual void DeleteLink(LinkType linkdata)
graphLinksModel.DeleteLink(linkdata)
この方法は、LinksSourceコレクションからリンクデータの削除を実際に実施します。
- linkdata
protected virtual void DeleteMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.DeleteMemberNodeKey(nodedata, memberkey)
このメソッドは、実際にノードデータの修正を実装し、子ノードデータの収集に指定されたノードは含まれません。
- nodedata
- ノードのデータを変更します。null の場合、このメソッドは何もしません。
- memberkey
- "member" ノードデータのキー値。null なら、このメソッドは何もしない
protected virtual void DeleteNode(NodeType nodedata)
graphLinksModel.DeleteNode(nodedata)
このメソッドは、NodesSourceコレクションからノードデータを実際に削除する。
- nodedata
public void DoGroupNodeChanged(NodeType nodedata)
graphLinksModel.DoGroupNodeChanged(nodedata)
ノードデータのグループ内でのメンバーシップが変更された場合、これは呼び出されるべきです。
- nodedata
- 変更されたノードのデータ
public void DoLinkAdded(LinkType linkdata)
graphLinksModel.DoLinkAdded(linkdata)
リンク先のデータオブジェクトがLinksSourceコレクションに追加されると呼びます。
- linkdata
public void DoLinkCategoryChanged(LinkType linkdata)
graphLinksModel.DoLinkCategoryChanged(linkdata)
リンクデータのカテゴリ値が変更された場合、これは呼び出されるべきです。
- linkdata
public void DoLinkLabelChanged(LinkType linkdata)
graphLinksModel.DoLinkLabelChanged(linkdata)
リンクデータのラベルノードが変更された場合、これは呼び出されるべきです。
- linkdata
public void DoLinkPortsChanged(LinkType linkdata)
graphLinksModel.DoLinkPortsChanged(linkdata)
リンクデータの接続ノードまたはポートが「から」または「to」のいずれかに変更されたときに呼び出されるべきです。
- linkdata
public void DoLinkRemoved(LinkType linkdata)
graphLinksModel.DoLinkRemoved(linkdata)
リンク先のデータオブジェクトがLinksSourceコレクションから削除されると呼び出される。
- linkdata
public void DoMemberNodeKeyAdded(NodeType nodedata, NodeKey memberkey)
graphLinksModel.DoMemberNodeKeyAdded(nodedata, memberkey)
「member」ノードキーのコレクションに「member」ノードのデータキーが追加されたときに呼び出されるべきです。
- nodedata
- 変更されたノードのデータ
- memberkey
- ノードのデータを追加したキー
public void DoMemberNodeKeyRemoved(NodeType nodedata, NodeKey memberkey)
graphLinksModel.DoMemberNodeKeyRemoved(nodedata, memberkey)
「member」ノードキーのコレクションから「member」ノードのデータキーが削除されたときに呼び出されるべきです。
- nodedata
- 変更されたノードのデータ
- memberkey
- 削除された「member」ノードのデータのキー
public void DoMemberNodeKeysChanged(NodeType nodedata)
graphLinksModel.DoMemberNodeKeysChanged(nodedata)
ノードのデータが「member」ノードの一覧が置換されたときに呼び出されるべきです。
- nodedata
public void DoNodeAdded(NodeType nodedata)
graphLinksModel.DoNodeAdded(nodedata)
ノードのデータオブジェクトが@NodesSourceコレクションに追加されると呼び出されるはずです。
- nodedata
public void DoNodeCategoryChanged(NodeType nodedata)
graphLinksModel.DoNodeCategoryChanged(nodedata)
ノードデータのカテゴリの値が変更された場合、これは呼び出されるべきです。
- nodedata
public void DoNodeKeyChanged(NodeType nodedata)
graphLinksModel.DoNodeKeyChanged(nodedata)
ノードデータのキー値が変更された場合、これは呼び出されるべきです。
- nodedata
public void DoNodeRemoved(NodeType nodedata)
graphLinksModel.DoNodeRemoved(nodedata)
ノードのデータオブジェクトがNodesSourceコレクションから削除されると呼び出されるはずです。
- nodedata
protected virtual string FindCategoryForLink(LinkType linkdata)
result = graphLinksModel.FindCategoryForLink(linkdata)
リンクデータのカテゴリを検索します。
- linkdata
戻り値: デフォルトでは空の文字列
protected virtual string FindCategoryForNode(NodeType nodedata)
result = graphLinksModel.FindCategoryForNode(nodedata)
ノードデータのカテゴリを検索します。
- nodedata
戻り値: デフォルトでは空の文字列
protected virtual NodeKey FindFromNodeKeyForLink(LinkType linkdata)
result = graphLinksModel.FindFromNodeKeyForLink(linkdata)
指定したリンクデータに「から」ノードキーを検索します。
- linkdata
戻り値: 接続ノードのa
protected virtual PortKey FindFromParameterForLink(LinkType linkdata)
result = graphLinksModel.FindFromParameterForLink(linkdata)
特定のリンクデータに対する「から」ノード接続に関する追加情報を検索します。
- linkdata
戻り値: とりあえず
protected virtual NodeKey FindGroupKeyForNode(NodeType nodedata)
result = graphLinksModel.FindGroupKeyForNode(nodedata)
ノードのデータにグループノードキーを含んだものを見つけます。
- nodedata
戻り値: を含むグループノードの、またはそのタイプのデフォルト値の場合、ノードのコンテナノードがない場合
protected virtual bool FindIsGroupForNode(NodeType nodedata)
result = graphLinksModel.FindIsGroupForNode(nodedata)
ノードのデータが他のノードのグループまたはコンテナであるかを確認します。
- nodedata
protected virtual bool FindIsLinkLabelForNode(NodeType nodedata)
result = graphLinksModel.FindIsLinkLabelForNode(nodedata)
ノードのデータがリンクデータに対して「ラベル」であるかどうかを確認します。
- nodedata
protected virtual NodeKey FindKeyForNode(NodeType nodedata)
result = graphLinksModel.FindKeyForNode(nodedata)
ノードデータのキーを見つけます。
- nodedata
戻り値: このモデルの指定したノードデータ(hopefully) 固有のキー
protected virtual NodeKey FindLabelNodeKeyForLink(LinkType linkdata)
result = graphLinksModel.FindLabelNodeKeyForLink(linkdata)
任意のリンクデータに「ラベル」ノードキーを見つけます。
- linkdata
戻り値: a ラベルノードデータ
protected virtual IEnumerable FindMemberNodeKeysForNode(NodeType nodedata)
result = graphLinksModel.FindMemberNodeKeysForNode(nodedata)
ノードのデータオブジェクトの子ノードのキーのリストを見つけます。
- nodedata
戻り値: 子鍵のリスト、IEnumerableの
public NodeType FindNodeByKey(NodeKey key)
result = graphLinksModel.FindNodeByKey(key)
キーを与えられたら、そのキーでノードデータを見つけます。
- key
- この引数の null の値がデフォルト値になります。
戻り値: ; そのようなノードデータがこのモデルに存在しなければ、値が型に対してデフォルトになります
protected virtual NodeKey FindToNodeKeyForLink(LinkType linkdata)
result = graphLinksModel.FindToNodeKeyForLink(linkdata)
指定したリンクデータに「to」ノードキーを検索します。
- linkdata
戻り値: 接続ノードのa
protected virtual PortKey FindToParameterForLink(LinkType linkdata)
result = graphLinksModel.FindToParameterForLink(linkdata)
特定のリンクデータに対する「to」ノード接続に関する追加情報を検索します。
- linkdata
戻り値: とりあえず
public string GetCategoryForLink(LinkType linkdata)
result = graphLinksModel.GetCategoryForLink(linkdata)
リンクのカテゴリを取得する方法。
- linkdata
戻り値: 文字列、空の文字列にデフォルト
public string GetCategoryForNode(NodeType nodedata)
result = graphLinksModel.GetCategoryForNode(nodedata)
このメソッドはノードのカテゴリを取得します。
- nodedata
戻り値: 文字列、空の文字列にデフォルト
public IEnumerable<NodeType> GetConnectedNodesForNode(NodeType nodedata, Predicate<PortKey> portpred)
result = graphLinksModel.GetConnectedNodesForNode(nodedata, portpred)
ノードに直接接続するノードのデータを、いずれかの方向に返します。
- nodedata
- portpred
- 各ポートパラメータに適用される述語。非nullの場合、この述語は、ノードが戻り値に含まれているように真でなければなりません。
戻り値: IEnumerable の
public IEnumerable<NodeType> GetConnectedNodesForNode(NodeType nodedata)
result = graphLinksModel.GetConnectedNodesForNode(nodedata)
ノードに直接接続するノードのデータを、いずれかの方向に返します。
- nodedata
戻り値: IEnumerable の
public IEnumerable<LinkType> GetFromLinksForNode(NodeType nodedata)
result = graphLinksModel.GetFromLinksForNode(nodedata)
特定のノードデータで連結されるリンクデータのシーケンスを返します。指定されたノードにのみ移動します。
- nodedata
戻り値: IEnumerable の
public NodeType GetFromNodeForLink(LinkType linkdata)
result = graphLinksModel.GetFromNodeForLink(linkdata)
リンクデータが接続されている「から」ノードデータを返します。
- linkdata
戻り値: ノードデータ
public IEnumerable<NodeType> GetFromNodesForNode(NodeType nodedata)
result = graphLinksModel.GetFromNodesForNode(nodedata)
特定のノードにリンクすることによって直接接続されるノードデータのシーケンスを返します。
- nodedata
戻り値: IEnumerable の
public IEnumerable<NodeType> GetFromNodesForNode(NodeType nodedata, Predicate<PortKey> toportpred)
result = graphLinksModel.GetFromNodesForNode(nodedata, toportpred)
特定のノードにリンクすることによって直接接続されるノードデータのシーケンスを返します。
- nodedata
- toportpred
- ポートパラメータに「to」のポートパラメーターをそれぞれ適用する述語。非nullの場合、この述語は「から」ノードが返されたシーケンスに含まれるように真でなければなりません。
戻り値: IEnumerable の
public PortKey GetFromParameterForLink(LinkType linkdata)
result = graphLinksModel.GetFromParameterForLink(linkdata)
リンクデータの「から」の最後に「ポート」を追加した情報を返します。
- linkdata
public NodeType GetGroupForLink(LinkType linkdata)
result = graphLinksModel.GetGroupForLink(linkdata)
指定したリンクデータに対して、リンクがグループに属している場合、コンテナノードデータを返します。
- linkdata
戻り値: ノードデータ
public NodeType GetGroupForNode(NodeType nodedata)
result = graphLinksModel.GetGroupForNode(nodedata)
指定したノードのデータに対して、コンテナグループノードデータを1つある場合を返します。
- nodedata
戻り値: ノードデータ
public bool GetHasLabeledLinkForNode(NodeType nodedata)
result = graphLinksModel.GetHasLabeledLinkForNode(nodedata)
この述語は、リンクデータに「ラベル」として関連づけていると、ノードデータに対しては真正です。
- nodedata
public bool GetHasLabelNodeForLink(LinkType linkdata)
result = graphLinksModel.GetHasLabelNodeForLink(linkdata)
与えられたリンクデータに「ラベル」ノードがある場合、この述語は真です。
- linkdata
public bool GetIsGroupForNode(NodeType nodedata)
result = graphLinksModel.GetIsGroupForNode(nodedata)
指定したノードのデータが他のノードのグループ(i.e. )の場合、この述語は真です。
- nodedata
public bool GetIsLinkLabelForNode(NodeType nodedata)
result = graphLinksModel.GetIsLinkLabelForNode(nodedata)
指定したノードデータをリンクの「ラベル」として利用する場合に、この述語は真です。
- nodedata
public LinkType GetLabeledLinkForNode(NodeType nodedata)
result = graphLinksModel.GetLabeledLinkForNode(nodedata)
指定したノードデータを「ラベル」として参照するリンクデータを取得します。
- nodedata
戻り値: リンクデータ
public NodeType GetLabelNodeForLink(LinkType linkdata)
result = graphLinksModel.GetLabelNodeForLink(linkdata)
任意のリンクデータに「ラベル」ノードデータを取得します。
- linkdata
戻り値: ノードデータ
public IEnumerable<LinkType> GetLinksBetweenNodes(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.GetLinksBetweenNodes(fromdata, fromparam, todata, toparam)
1つのノードから別のノードに移動するすべてのリンクデータのシーケンスを返す、特定の「ポート」に制限される可能性があります。
- fromdata
- ノードキーは、リンクが来るノードデータを識別します。
- fromparam
- リンクが接続される「から」ノードのポートを識別するオプションの値
- todata
- ノードキーは、リンクが進むノードデータを識別します。
- toparam
- リンクが接続される「to」ノードのポートを識別するオプションの値
戻り値: IEnumerable の
public IEnumerable<LinkType> GetLinksForNode(NodeType nodedata)
result = graphLinksModel.GetLinksForNode(nodedata)
ノードのデータで連結されるリンクデータのシーケンスを返します。
- nodedata
戻り値: IEnumerable の
public IEnumerable<LinkType> GetLinksForNode(NodeType nodedata, Predicate<LinkType> predicate)
result = graphLinksModel.GetLinksForNode(nodedata, predicate)
特定のノードデータで連結されるリンクデータのシーケンスを返します。どちらの方向でも、指定された述語を満たすことができます。
- nodedata
- predicate
- 引数として取り、 boolean を返す delegate
戻り値: IEnumerable の
public IEnumerable<LinkType> GetMemberLinksForGroup(NodeType nodedata)
result = graphLinksModel.GetMemberLinksForGroup(nodedata)
特定のノードデータに含まれるリンクデータのシーケンスを返します。
- nodedata
戻り値: メンバーリンクデータのIEnumerable; 会員リンクがない場合の空のシーケンス
public IEnumerable<NodeType> GetMemberNodesForGroup(NodeType nodedata)
result = graphLinksModel.GetMemberNodesForGroup(nodedata)
特定のノードデータの即時メンバーであるノードデータのシーケンスを返します。
- nodedata
戻り値: 会員ノードのデータの IEnumerable; 会員がいない場合、空のシーケンス
public Type GetNodeType()
result = graphLinksModel.GetNodeType()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
戻り値: ノードのデータオブジェクトではなく、文字列型
public IEnumerable<LinkType> GetToLinksForNode(NodeType nodedata)
result = graphLinksModel.GetToLinksForNode(nodedata)
特定のノードデータで連結されるリンクデータのシーケンスを返します。指定されたノードからのみ出ます。
- nodedata
戻り値: IEnumerable の
public NodeType GetToNodeForLink(LinkType linkdata)
result = graphLinksModel.GetToNodeForLink(linkdata)
リンクデータが接続されている「to」ノードデータを返します。
- linkdata
戻り値: ノードデータ
public IEnumerable<NodeType> GetToNodesForNode(NodeType nodedata, Predicate<PortKey> fromportpred)
result = graphLinksModel.GetToNodesForNode(nodedata, fromportpred)
特定のノードから出てきたリンクから直接接続されるノードデータのシーケンスを返します。
- nodedata
- fromportpred
- "from" ポートパラメータごとに、 指定された述語 を ' ポートパラメーター に 適用する。 null でないと、 戻り値に "to" ノードが含まれている必要があります。
戻り値: IEnumerable の
public IEnumerable<NodeType> GetToNodesForNode(NodeType nodedata)
result = graphLinksModel.GetToNodesForNode(nodedata)
特定のノードから出てきたリンクから直接接続されるノードデータのシーケンスを返します。
- nodedata
戻り値: IEnumerable の
public PortKey GetToParameterForLink(LinkType linkdata)
result = graphLinksModel.GetToParameterForLink(linkdata)
リンクデータの「to」の最後に「port」を追加した情報を返します。
- linkdata
protected virtual void HandleLinkPropertyChanged(object sender, PropertyChangedEventArgs e)
graphLinksModel.HandleLinkPropertyChanged(sender, e)
このページは、リンクデータに関するINotifyPropertyChangedイベントハンドラです。
- sender
- e
- 変更と方法を説明するModelChangedEventArgsを優先的に
protected virtual void HandleNodePropertyChanged(object sender, PropertyChangedEventArgs e)
graphLinksModel.HandleNodePropertyChanged(sender, e)
ノードデータ用のINotifyPropertyChangedイベントハンドラです。
- sender
- e
- 変更と方法を説明するModelChangedEventArgsを優先的に
protected virtual LinkType InsertLink(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.InsertLink(fromdata, fromparam, todata, toparam)
この方法は、実際にLinksSourceコレクションにリンクデータの作成と追加を実施します。
- fromdata
- ノードキーは、リンクが来るノードデータを識別します。
- fromparam
- リンクが接続される「から」ノードのポートを識別するオプションの値
- todata
- ノードキーは、リンクが進むノードデータを識別します。
- toparam
- リンクが接続される「to」ノードのポートを識別するオプションの値
protected virtual void InsertLink(LinkType linkdata)
graphLinksModel.InsertLink(linkdata)
この方法は、実際にLinksSourceコレクションにリンクデータを追加実装する。
- linkdata
protected virtual void InsertMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.InsertMemberNodeKey(nodedata, memberkey)
このメソッドは、実際にノードデータの修正を実装し、メンバーノードのデータが与えられたノードを含むようにします。
- nodedata
- ノードのデータを変更します。null の場合、このメソッドは何もしません。
- memberkey
- 新しい「member」ノードのデータのキー値。null なら、このメソッドは何もしない
protected virtual void InsertNode(NodeType nodedata)
graphLinksModel.InsertNode(nodedata)
このメソッドは、実際に、ノードデータの追加をNodesSourceコレクションに実装しています。
- nodedata
protected virtual bool IsEqualPortParameters(PortKey a, PortKey b)
result = graphLinksModel.IsEqualPortParameters(a, b)
この述語は2つの値を比較し、"equal" の場合にtrueを返す。
- a
- b
戻り値: 通常、このタイプはデフォルトEqualityComparerを使用します。ただし、その種類の平等比較がポート情報に不適切である場合は、このメソッドをオーバーライドする必要があります。
public bool IsLinkData(LinkType linkdata)
result = graphLinksModel.IsLinkData(linkdata)
このモデルの引数がリンクデータの場合、この述語は真です。
- linkdata
- このモデルの既知のリンクデータであるかどうかを確認するオブジェクト
戻り値: true if the is in the LinksSource
public bool IsLinked(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.IsLinked(fromdata, fromparam, todata, toparam)
ノードのデータ/ポートから別のノードへリンクがある場合、この述語は真です。
- fromdata
- ノードキーは、リンクが来るノードデータを識別します。
- fromparam
- リンクが接続される「から」ノードのポートを識別するオプションの値
- todata
- ノードキーは、リンクが進むノードデータを識別します。
- toparam
- リンクが接続される「to」ノードのポートを識別するオプションの値
public bool IsLinkType(object linkdata)
result = graphLinksModel.IsLinkType(linkdata)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
戻り値: 型、リンクデータオブジェクトではなく、文字列
public bool IsLinkValid(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.IsLinkValid(fromdata, fromparam, todata, toparam)
2つのノード/ポート間でリンクを追加すると、有効なグラフが生成されます。
- fromdata
- ノードキーは、リンクが来るノードデータを識別します。
- fromparam
- リンクが接続される「から」ノードのポートを識別するオプションの値
- todata
- ノードキーは、リンクが進むノードデータを識別します。
- toparam
- リンクが接続される「to」ノードのポートを識別するオプションの値
public bool IsMember(NodeType groupnodedata, NodeType membernodedata)
result = graphLinksModel.IsMember(groupnodedata, membernodedata)
コンテナグループのメンバーである場合、この述語は真です。
- groupnodedata
- membernodedata
public bool IsMemberValid(NodeType groupnodedata, NodeType membernodedata, bool ignoreexistingmembership)
result = graphLinksModel.IsMemberValid(groupnodedata, membernodedata, ignoreexistingmembership)
グループノード()に追加すると、この述語は無効なグラフになります。
- groupnodedata
- グループであるノードデータ
- membernodedata
- ノードデータ
- ignoreexistingmembership
- 既存のグループメンバーを無視するかどうか、そのメンバーは既存のグループから退出しているからです。
public bool IsNodeData(NodeType nodedata)
result = graphLinksModel.IsNodeData(nodedata)
このモデルの引数がノードデータの場合、この述語は真です。
- nodedata
- このモデルの既知のノードデータであるかどうかを確認するオブジェクト
戻り値: true if the is in the NodesSource
public bool IsNodeType(object nodedata)
result = graphLinksModel.IsNodeType(nodedata)
この述語は引数が . のインスタンスであるとき真です。
- nodedata
- 任意のオブジェクトは、ノードデータであることの互換性をチェックする
戻り値: ; にキャストできる場合 true それ以外の場合は false
public bool IsRelinkValid(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam, LinkType oldlinkdata)
result = graphLinksModel.IsRelinkValid(fromdata, fromparam, todata, toparam, oldlinkdata)
2つのノード/ポート間のリンクを置換すると、有効なグラフが生成されると、この述語は真になります。
- fromdata
- ノードキーは、リンクが来るノードデータを識別します。
- fromparam
- リンクが接続される「から」ノードのポートを識別するオプションの値
- todata
- ノードキーは、リンクが進むノードデータを識別します。
- toparam
- リンクが接続される「to」ノードのポートを識別するオプションの値
- oldlinkdata
- 変更される可能性のある元のリンクデータ
public void Load<NodeDataType, LinkDataType>(XContainer root, XName nodename, XName linkname)
graphLinksModel.Load(root, nodename, linkname)
XML XContainer の保持ノードとリンクデータを Linq にすると、このモデルの NodesSourceと LinksSourceのコレクションに新しいノードのデータと新しいリンクデータのコレクションが組み込まれています。
- root
- データの全てのXContainerを保持
- nodename
- 各XElement保持ノードのデータの名前
- linkname
- 各XElement保持リンクデータの名称
public void Load<NodeDataType, LinkDataType>(XContainer root, Func<XElement, NodeDataType> nodedataallocator, Func<XElement, LinkDataType> linkdataallocator)
graphLinksModel.Load(root, nodedataallocator, linkdataallocator)
XML XContainer の保持ノードとリンクデータを Linq にすると、このモデルの NodesSourceと LinksSourceのコレクションに新しいノードのデータと新しいリンクデータのコレクションが組み込まれています。
- root
- データの全てのXContainerを保持
- nodedataallocator
- XElement を取り、XElement が無視されると、新たに構成された型または null のオブジェクトを返す関数
- linkdataallocator
- XElement を取り、XElement が無視されると、新たに構成された型または null のオブジェクトを返す関数
protected virtual bool MakeNodeKeyUnique(NodeType nodedata)
result = graphLinksModel.MakeNodeKeyUnique(nodedata)
重複したキーが見つからられたとき、このメソッドは呼び出されます。
- nodedata
戻り値: つまり、モデルにキーを一意にしてしまった後に、データをノードとして受け入れること。このデータを無視するために false を。
protected virtual void ModifyGroupNodeKey(NodeType nodedata, NodeKey groupkey)
graphLinksModel.ModifyGroupNodeKey(nodedata, groupkey)
このメソッドは、ノードデータの修正を実際に実装し、グループノードのデータ(もしあれば)を参照する。
- nodedata
- ノードデータを変更する
- groupkey
- 「グループ」ノードデータのキー値
protected virtual void ModifyLinkFromPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.ModifyLinkFromPort(linkdata, nodekey, portparam)
このメソッドは、実際にリンクデータの修正を実装し、「から」ノードのデータと「から」ポート情報への参照を変更します。
- linkdata
- 変更されるリンクデータ
- nodekey
- 新しいノードのデータ
- portparam
protected virtual void ModifyLinkLabelKey(LinkType linkdata, NodeKey linklabelkey)
graphLinksModel.ModifyLinkLabelKey(linkdata, linklabelkey)
このメソッドは、実際にリンクデータの修正を実装し、「ラベル」ノードのデータへの参照を変更します。
- linkdata
- 変更されるリンクデータ
- linklabelkey
- 新しいラベルデータ
protected virtual void ModifyLinkToPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.ModifyLinkToPort(linkdata, nodekey, portparam)
この方法は、実際にリンクデータの修正を実装し、「to」ノードのデータと「to」ポート情報への参照を変更します。
- linkdata
- 変更されるリンクデータ
- nodekey
- 新しいノードのデータ
- portparam
protected virtual void ModifyMemberNodeKeys(NodeType nodedata, IEnumerable membernodekeys)
graphLinksModel.ModifyMemberNodeKeys(nodedata, membernodekeys)
このメソッドは、実際にグループノードのデータ収集のノードキーの置換を実行します。
- nodedata
- ノードデータを変更する
- membernodekeys
- 「member」ノードのデータキーの値のシーケンス
public void RemoveLink(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
graphLinksModel.RemoveLink(fromdata, fromparam, todata, toparam)
二つのノード/ポートを接続するLinksSourceからすべてのリンクデータを削除します。
- fromdata
- ノードキーは、リンクが来るノードデータを識別します。
- fromparam
- リンクが接続される「から」ノードのポートを識別するオプションの値
- todata
- ノードキーは、リンクが進むノードデータを識別します。
- toparam
- リンクが接続される「to」ノードのポートを識別するオプションの値
public void RemoveLink(LinkType linkdata)
graphLinksModel.RemoveLink(linkdata)
外部リンクデータをLinksSource@から削除します。
- linkdata
public void RemoveMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.RemoveMemberNodeKey(nodedata, memberkey)
子ノードのデータのキー値をグループノードのデータのリストから削除します。
- nodedata
- ノードデータを変更する
- memberkey
- 「member」ノードデータのキー値
public void RemoveNode(NodeType nodedata)
graphLinksModel.RemoveNode(nodedata)
NodesSource からノードデータを削除します。
- nodedata
public void ResolveAllReferences()
graphLinksModel.ResolveAllReferences()
原因@ResolveNodeKey(各既定の遅延または前方ノード参照で呼び出される)。
protected virtual void ResolveNodeKey(NodeKey nodekey)
graphLinksModel.ResolveNodeKey(nodekey)
既知の遅延やノード参照を転送するたびに、ResolveAllReferences によって繰り返し呼び出されます。
- nodekey
public XElement Save<NodeDataType, LinkDataType>(XName rootname, XName nodename, XName linkname)
result = graphLinksModel.Save(rootname, nodename, linkname)
ノードのXElementを保有し、データをリンクするLinqを生成します。
- rootname
- 返されたXElementの名前
- nodename
- 各XElement保持ノードのデータの名前
- linkname
- 各XElement保持リンクデータの名称
戻り値: XElementの
public void SetGroupNodeKey(NodeType nodedata, NodeKey groupkey)
graphLinksModel.SetGroupNodeKey(nodedata, groupkey)
ノードデータを変更して、ノードキーで異なるコンテナグループノードデータを参照します。
- nodedata
- ノードデータを変更する
- groupkey
- 新しい「グループ」ノードデータのキー値
public void SetLinkFromPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.SetLinkFromPort(linkdata, nodekey, portparam)
リンクデータを変更して、ノードのデータと関連するポート情報と異なる「から」を参照します。
- linkdata
- 変更されるリンクデータ
- nodekey
- 新しいノードのデータ
- portparam
public void SetLinkLabelKey(LinkType linkdata, NodeKey linklabelkey)
graphLinksModel.SetLinkLabelKey(linkdata, linklabelkey)
リンクデータを変更して、異なる「ラベル」ノードデータを参照します。
- linkdata
- 変更されるリンクデータ
- linklabelkey
- 新しいラベルデータ
public void SetLinkToPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.SetLinkToPort(linkdata, nodekey, portparam)
リンクデータを変更して、ノードのデータと関連するポート情報を異なる「to」に参照します。
- linkdata
- 変更されるリンクデータ
- nodekey
- 新しいノードのデータ
- portparam
public void SetMemberNodeKeys(NodeType nodedata, IEnumerable membernodekeys)
graphLinksModel.SetMemberNodeKeys(nodedata, membernodekeys)
ノードのデータのリストを「member」キーの値に置き換えます。
- nodedata
- ノードデータを変更する
- membernodekeys
- 「member」ノードのデータキーの値のシーケンス